草庐IT

Java CMS GC 行为

全部标签

Java乘法运算行为

我写了一个方法将给定数字从天数转换为毫秒数:privatelongexpireTimeInMilliseconds;...publicvoidsetExpireTimeInDays(intexpireTimeInDays){expireTimeInMilliseconds=expireTimeInDays*24*60*60*1000;}我很难弄清楚我做错了什么。现在我的问题:这个错误这么明显吗?修正方法:privatelongexpireTimeInMilliseconds;...publicvoidsetExpireTimeInDays(intexpireTimeInDays){ex

java - ThreadPoolExecutor 具有自定义行为的固定线程池

我是这个主题的新手...我正在使用通过Executors.newFixedThreadPool(10)创建的ThreadPoolExecutor,在池满后我开始得到RejectedExecutionException。有没有办法“强制”执行者将新任务置于“等待”状态,而不是拒绝它并在池释放时启动它?谢谢关于这个的问题https://github.com/evilsocket/dsploit/issues/159涉及的代码行https://github.com/evilsocket/dsploit/blob/master/src/it/evilsocket/dsploit/net/Net

java - Java Servlet 中的静态变量行为

我正在开发一个javaservlet,它在运行时会在新线程中启动不同的对象方法。这些线程应该访问描述特定servlet实例的变量,比如jobId。出于这个原因,我将jobId变量声明为静态的。servlet构造函数正在为每个servlet实例(调用)计算此值。如果同时调用servlet几次,我在徘徊,调用之间共享静态jobId变量,这意味着某些线程会得到错误的jobId,或者每次调用都计算一次-所以线程启动的特定servlet将使用为该特定servlet计算的jobId(这是我希望它工作的方式)。有任何想法吗?非常感谢! 最佳答案

java - 无法实现的接口(interface)方法的正确行为

如果我有一个需要实现接口(interface)的类,但该接口(interface)上的一个或多个方法在这个特定类的上下文中没有意义,我应该怎么办?例如,假设我正在实现一个适配器模式,我想在其中创建一个实现java.util.Map的包装类通过包装一些不可变对象(immutable对象)并将其数据公开为键/值对。在这种情况下,方法put和putAll没有意义,因为我无法修改底层对象。那么问题是这些方法应该做什么? 最佳答案 任何不能根据接口(interface)语义实现的方法都应该抛出UnsupportedOperationExcep

java - 事务的传播行为

我正在为springaop使用基于注释的声明方法。示例代码ClassA{@Transactional(readOnly=false,propagation=Propagation.REQUIRES_NEW)add(){method1();method2();method3();}}但是我对propagation的使用还是存疑,是否propagation.Requires_New表示每次请求都会开启新的transaction第二个问题:method2,method3等方法失败会导致事务回滚吗?如果有什么可以帮助我学习交易传播,我将非常高兴。有人能给我一个我们需要参与现有交易的真实世界的例

java - 当目标路径是目录时,Files.newInputStream() 的无关紧要的行为?

注意:请运行下面的确切代码;不要对其进行改编,特别是不要使用File,因为此错误与新的java.nio.fileAPI相关好吧,这不是一个真正的“需要答案的问题”,而是一个需要证人的电话……场景:在你的操作系统上有一个目录,不管它是什么,你知道你有访问权限——用Unix的说法,你至少有读取权限(这意味着你可以列出其中的条目);在下面的代码中,假设System.getProperty("java.io.tmpdir")表示的路径符合要求;安装了OracleJDK或OpenJDK7+;这样您就可以使用java.nio.file。现在,下面的代码做的很简单:它尝试openanewInputS

java - 不寻常的 Java 行为 - 为什么这有效?

我发现了一些有趣的行为......我无法确定这是错误还是无能,但目前倾向于无能。这段代码不会进入循环,即使有消息在等待:Messagemsg;while((msg=consumer.receiveNoWait())!=null){System.out.println(msg);}这段代码确实进入了循环,注意空赋值:Messagemsg=null;while((msg=consumer.receiveNoWait())!=null){System.out.println(msg);}此代码在Windows32位的Glassfish3.1.1b10HotSpot1.6_26上运行。我想不出

java - Arrays.copyOfRange(byte[], int, int) 奇怪行为背后的逻辑是什么?

任何人都可以向我解释Arrays.copyOfRange(byte[],int,int))的奇怪行为背后的逻辑吗??我可以用简单的例子来说明我的意思:byte[]bytes=newbyte[]{1,1,1};Arrays.copyOfRange(bytes,3,4);//Returnssingleelement(0)arrayArrays.copyOfRange(bytes,4,5);//ThrowsArrayIndexOutOfBoundsException在这两种情况下,我都将范围复制到数组边界之外(即start>=array.length),因此错误条件至少对我来说很奇怪(如果是

java - 使用流收集时 jdk8 与 jdk11 的不同行为

介绍我确实对jdk11(及更高版本)在流和收集方法方面的行为有疑问。我确实想获取流式传输资源的参数化容器的值,并在最后使用.collect(Collectors.toSet())收集这些值.问题描述当我用jdk8编译我的代码时它工作得很好。但是作为我们还要支持jdk11,我运行了编译但失败了,因为Error:(136,17)java:incompatibletypes:java.lang.Objectcannotbeconvertedtojava.util.Set(同样适用于openJdk11)用例想象一下下面的情况。我有一个基本上是数据容器的类。此容器可以包含单个值或值列表。在我的应

java - 添加/扩展由 ListeningExecutorService 创建的 Future 的行为

最终目标是为ListenableFuture添加额外的行为s基于Callable/Runnable参数的类型。我想为每个Future添加额外的行为方法。(示例用例可以在AbstractExecutorService'sjavadoc和Goetz的JavaConcurrencyinPractice的第7.1.7节中找到)我有一个现有的ExecutorService覆盖newTaskFor.它测试参数的类型并创建FutureTask的子类。这自然支持提交以及invokeAny和invokeAll.如何为ListenableFuture获得相同的效果由ListeningExecutorSer